package com.heu.blood.storge.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;


/**
 *
 *
 * @author lyj
 * @email lyj@heu.com
 * @date 2023-06-16 00:33:53
 */
@Data
@TableName("blood_in_storge")
public class BloodInStorgeEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	/**
	 * 血液信息表中的id
	 */
	private String bloodId;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 献血时编号
	 */
	private String bloodDonationCode;
	/**
	 * 血液品名-字典
	 */
	private String bloodType;
	/**
	 * 扩展码-产品码
	 */
	private String extendCode;
	/**
	 * ABO血型
	 */
	private String aboBloodType;
	/**
	 * RH血型
	 */
	private String rhBloodType;
	/**
	 * 血装编码条码
	 */
	private String barcode;
	/**
	 * 规格/血量-数字
	 */
	private BigDecimal bloodCount;
	/**
	 * 血液金额
	 */
	private BigDecimal bloodPrice;
	/**
	 * 入库金额
	 */
	private BigDecimal inboundPrice;
	/**
	 * 计量单位-ml等
	 */
	private String measurementUnit;
	/**
	 * 血袋位置-库存位置描述
	 */
	private String bloodLocation;
	/**
	 * 入库单据号----对应查询中的唯一标识
	 */
	private String number;
	/**
	 * 入库批次号
	 */
	private Long batchNumber;
	/**
	 * 入库日期
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date inStorgeTime;
	/**
	 * 院区
	 */
	private String hospitalClassification;
	/**
	 * 失效时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date failureTime;
	/**
	 * 采血时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date collectTime;
	/**
	 * 血液来源-字典-供血机构
	 */
	private String bloodSource;
	/**
	 * 血库出库编号
	 */
	private String bloodBankDeliveryId;
	/**
	 * 状态-字典
	 */
	private String bloodState;
	/**
	 * 操作者姓名
	 */
	private String operatorName;
	/**
	 * 操作人工号
	 */
	private String operatorId;

	/**
	 * 1代表展示，0代表不展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 删除标记（0未删除，1删除）
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;

	/**
	 * 入库方式
	 */
	private String bloodStorageMethod;

	/**
	 * 血站出库编号
	 */
	private String bloodCenterDeliveryId;

}
